Interface Robustness Testing: Experiences and Lessons Learned from the Ballista Project
نویسندگان
چکیده
When the Ballista project started in 1996 as a 3-year DARPA-funded research project, the original goal was to create a Web-based testing service to identify robustness faults in software running on client computers via the Internet. Previous experience suggested that such tests would find interesting problems but it was unclear how to make robustness testing scalable to large interfaces. A major challenge was finding a way to test something as large and complex as an operating system (OS) application programming interface (API) without having to resort to labor-intensive manual test construction for each API function to be tested. In the end, a scalable approach was found and was successfully applied not only to operating system APIs but several other nonoperating system APIs as well. The robustness testing methodology Ballista is based upon using combinational tests of valid and invalid parameter values for system calls and functions. In each test case, a single software module under test (or MuT) is called once. An MuT can be a stand-alone program, function, system call, method, or any other software that can be invoked with a procedure call. (The term MuT is similar in meaning to the more recent term dependability benchmark target [DBench 2004].) In most cases, MuTs are calling points into an API. Each invocation of a test case determines whether a particular MuT provides robust exception handling when called with a particular set of parameter values. These parameter values, or test values, are drawn from a pool of normal and exceptional values based on the data type of each argument passed to the MuT. Each test value has an associated test object, which holds code to create and clean up the related system state for a test (for example, a file handle test object has code to create a file, return a file handle test value, and subsequently delete the file after the test case has been executed). A test case, therefore, consists of the name of the MuT and a tuple of test values that are passed as parameters
منابع مشابه
Robustness testing of a distributed simulation backplane
◆ This research is built upon and extends the Ballista project. • High level testing done using the API to perform fault injection – Send exceptional values into a system through the API – Requires no modification to code -only linkable object files needed • Each test is a specific function call with a specific set of parameters – Combinations of valid and invalid parameters tried in turn ◆ Yes...
متن کاملBallista Design and Methodology Ballista Design and Methodology
This report serves as initial documentation of the design and methodology to be employed by Ballista, an automatic robustness testing and hardening tool for Commercial Off-The-Shelf software components. The Ballista architecture includes the following major components: • Automatic testing of software modules determines whether they behave robustly in the face of exceptional inputs. • Characteri...
متن کاملImportant Lessons Learned From Nearly a Half-Century of Orthopedic Practice
“Those who cannot remember the past are condemned to repeat it” [1]. The famous quote from Hispanic American philosopher George Santayana reminds us of the critical importance of constantly reflecting on the most important lessons garnered from both our own personal experiences and those of our peers. In 49 years of academic orthopedic practice, I have frequently reflected on the most important...
متن کاملRegionalization of the Iowa State University Extension System: Lessons Learned by Key Administrators
The cyclical economic downturn in the United States has forced many Extension administrators to rethink and adjust services and programming. The Cooperative Extension System (CES), the organization primarily responsible for governmental Extension work in the United States, at Iowa State University responded to this economic downturn by restructuring its organization from county based to a regio...
متن کاملRobustness Testing of A Distributed Simulation Backplane Masters Thesis
Creating robust software requires quantitative measurement in addition to careful specification and implementation. The Ballista software robustness testing service provides exception handling measurements for a variety of application domains. This thesis describes Ballista testing of the High Level Architecture Run-Time Infrastructure (HLA RTI), a general-purpose distributed simulation backpla...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008